"""
函数综合练习 ATM
"""

money = 5000000
name = None

# 启动时输入客户姓名
name = input("请输入您的姓名：")


def main_menu(name):
    """
    主菜单
    :param name: 操作人姓名
    :return:
    """
    print(f"{name}，您好，欢迎来到ATM，请选择操作：\n"
          f"查询余额 【输入1】\n存款 \t【输入2】 \n取款 \t【输入3】\n退出 \t【输入4】")
    return int(input("请输入您的选择:"))


def select(show_header):
    if show_header:
        print("----------查询余额-----------")
    print(f"{name},您好，您的余额为:{money}元")


def add(addMoney):
    print("----------存款-----------")
    global money
    money += addMoney
    print(f"{name},您好，您存款{addMoney}元，成功")
    # 查询存款余额
    select(False)


def take(takeMoney):
    print("----------取款-----------")
    global money
    # 判断余额是否大于取款的金额，如果余额不足则取款失败
    if money < takeMoney:
        print(f"取款{takeMoney},余额不足，取款失败")
        return
    money -= takeMoney
    print(f"{name},您好，您取款{takeMoney}元，成功")
    # 取款成功查询余额
    select(False)


# 设置无限循环调用函数
while True:
    menu_num = main_menu(name)
    if menu_num == 1:
        select(True)
        continue
    elif menu_num == 2:
        addMoney = int(input("请输入您的存款金额："))
        add(addMoney)
        continue
    elif menu_num == 3:
        takeMoney = int(input("请输入您的取款金额："))
        take(takeMoney)
        continue
    else:
        print("程序退出，欢迎下次使用")
        break
